#ifndef __MULTIBLOCK2D_H
#define __MULTIBLOCK2D_H

#include <cublas.h>
#include "Constants.h"

class MultiBlock2D
{
public:
	MultiBlock2D(int neededSizeX, int neededSizeY, int stride = CUDA_MAX_BLOCKSIZE_ISQRT);

	int StrideX(void)
	{
		return stride;
	}

	int StrideY(void)
	{
		return stride;
	}

	int numX;
	int numY;

	dim3 GetBlockSize(int x, int y);
private:
	int lastSizeX;
	int lastSizeY;
	int stride;
};


#endif
